﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using NLog;
using planerka.DataAccess;
using System.Web.Configuration;

namespace planerka.DataAccess.Models
{
    [MetadataType(typeof(pageMetaData))]
    public partial class page : IOrderable
    {
        
        private static Logger logger = LogManager.GetCurrentClassLogger();

        // навигация страниц
        public class pageNavs
        {
            public int id { get; set; }
            public int category_ID { get; set; }
            public string header { get; set; }
        }

        //
        public class pageMetaData
        {}
         
        //
        public bool move(int delta)
        {
            // возвращает false если ошибка сохранения
            // и если элемент находится в начале или конце списка
            var context = new linq2sqlDataContext(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
            return sequenceProvider.Move(this.OrderBy, delta, context.pages.Where(p => p.category_ID == this.category_ID).Select(p => (IOrderable)p).ToList(), context);
        }

        //
        public int OrderBy
        {
            get { return order; }
            set { order = value; }
        }

        
        

        
    }
}